Computer searching, particularly over the Internet, is a widespread technique for seeking information. Search engines typically produce results based on terms input by a user. The search engines typically order or rank the results based on the similarity of the terms found to the terms input by the user. Results that show identical words and word order with the request input by the user will typically be given a high rank and will be placed near the top of the list presented to the user.
A problem with most currently known techniques is the failure to account for user preferences. Given a particular request, each user entering that request will receive identical results.
Thus, web services are increasingly moving towards tailoring the information they provide to individual users. While some known systems are able to account for user preferences, the user is required to personally and proactively enter the preferences. Currently known systems are not capable of automatically ranking search results according to user preferences without explicit user customization.
For an Internet search engine to provide optimal results, it should take into account information about the past behavior of the customer issuing the query. Accordingly, a solution is needed that provides a way to effectively track relevant information about user behavior and use the tracked information to provide the most relevant results for the particular user. Personalizing the data presented by a web search engine in an effective manner could dramatically improve the user search experience, thus boosting customer loyalty and revenue.